package com.ittao.taoaicodemother.manage.storage.entity;

import lombok.Data;

import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;

/**
 * 下载统计实体
 * 用于跟踪文件下载的统计信息
 */
@Data
public class DownloadStatistics {
    
    /**
     * 总文件数
     */
    private final int totalFiles;
    
    /**
     * 总文件大小
     */
    private final long totalSize;
    
    /**
     * 已完成文件数
     */
    private final AtomicInteger completedFiles = new AtomicInteger(0);
    
    /**
     * 已下载大小
     */
    private final AtomicLong downloadedSize = new AtomicLong(0);
    
    /**
     * 失败文件数
     */
    private final AtomicInteger failedFiles = new AtomicInteger(0);

    /**
     * 构造函数
     * @param totalFiles 总文件数
     * @param totalSize 总文件大小
     */
    public DownloadStatistics(int totalFiles, long totalSize) {
        this.totalFiles = totalFiles;
        this.totalSize = totalSize;
    }
}